3 research outputs found

    Automatic skeleton-driven performance optimizations for transactional memory

    Get PDF
    The recent shift toward multi -core chips has pushed the burden of extracting performance to the programmer. In fact, programmers now have to be able to uncover more coarse -grain parallelism with every new generation of processors, or the performance of their applications will remain roughly the same or even degrade. Unfortunately, parallel programming is still hard and error prone. This has driven the development of many new parallel programming models that aim to make this process efficient.This thesis first combines the skeleton -based and transactional memory programming models in a new framework, called OpenSkel, in order to improve performance and programmability of parallel applications. This framework provides a single skeleton that allows the implementation of transactional worklist applications. Skeleton or pattern-based programming allows parallel programs to be expressed as specialized instances of generic communication and computation patterns. This leaves the programmer with only the implementation of the particular operations required to solve the problem at hand. Thus, this programming approach simplifies parallel programming by eliminating some of the major challenges of parallel programming, namely thread communication, scheduling and orchestration. However, the application programmer has still to correctly synchronize threads on data races. This commonly requires the use of locks to guarantee atomic access to shared data. In particular, lock programming is vulnerable to deadlocks and also limits coarse grain parallelism by blocking threads that could be potentially executed in parallel.Transactional Memory (TM) thus emerges as an attractive alternative model to simplify parallel programming by removing this burden of handling data races explicitly. This model allows programmers to write parallel code as transactions, which are then guaranteed by the runtime system to execute atomically and in isolation regardless of eventual data races. TM programming thus frees the application from deadlocks and enables the exploitation of coarse grain parallelism when transactions do not conflict very often. Nevertheless, thread management and orchestration are left for the application programmer. Fortunately, this can be naturally handled by a skeleton framework. This fact makes the combination of skeleton -based and transactional programming a natural step to improve programmability since these models complement each other. In fact, this combination releases the application programmer from dealing with thread management and data races, and also inherits the performance improvements of both models. In addition to it, a skeleton framework is also amenable to skeleton - driven iii performance optimizations that exploits the application pattern and system information.This thesis thus also presents a set of pattern- oriented optimizations that are automatically selected and applied in a significant subset of transactional memory applications that shares a common pattern called worklist. These optimizations exploit the knowledge about the worklist pattern and the TM nature of the applications to avoid transaction conflicts, to prefetch data, to reduce contention etc. Using a novel autotuning mechanism, OpenSkel dynamically selects the most suitable set of these patternoriented performance optimizations for each application and adjusts them accordingly. Experimental results on a subset of five applications from the STAMP benchmark suite show that the proposed autotuning mechanism can achieve performance improvements within 2 %, on average, of a static oracle for a 16 -core UMA (Uniform Memory Access) platform and surpasses it by 7% on average for a 32 -core NUMA (Non -Uniform Memory Access) platform.Finally, this thesis also investigates skeleton -driven system- oriented performance optimizations such as thread mapping and memory page allocation. In order to do it, the OpenSkel system and also the autotuning mechanism are extended to accommodate these optimizations. The conducted experimental results on a subset of five applications from the STAMP benchmark show that the OpenSkel framework with the extended autotuning mechanism driving both pattern and system- oriented optimizations can achieve performance improvements of up to 88 %, with an average of 46 %, over a baseline version for a 16 -core UMA platform and up to 162 %, with an average of 91 %, for a 32 -core NUMA platform

    Automatic Skeleton-Driven Memory Affinity for Transactional Worklist Applications

    Get PDF
    doi: 10.1007/s10766-013-0253-xInternational audienceMemory affinity has become a key element to achieve scalable performance on multi-core platforms. Mechanisms such as thread scheduling, page allocation and cache prefetching are commonly employed to enhance memory affinity which keeps data close to the cores that access it. In particular, software transactional memory (STM) applications exhibit irregular memory access behavior that makes harder to determine which and when data will be needed by each core. Additionally, existing STM runtime systems are decoupled from issues such as thread and memory management. In this paper, we thus propose a skeleton-driven mechanism to improve memory affinity on STM applications that fit the worklist pattern employing a two-level approach. First, it addresses memory affinity in the DRAM level by automatic selecting page allocation policies. Then it employs data prefetching helper threads to improve affinity in the cache level. It relies on a skeleton framework to exploit the application pattern in order to provide automatic memory page allocation and cache prefetching. Our experimental results on the STAMP benchmark suite show that our proposed mechanism can achieve performance improvements of up to 46 %, with an average of 11 %, over a baseline version on two NUMA multi-core machines

    Brazilian Flora 2020: Leveraging the power of a collaborative scientific network

    No full text
    International audienceThe shortage of reliable primary taxonomic data limits the description of biological taxa and the understanding of biodiversity patterns and processes, complicating biogeographical, ecological, and evolutionary studies. This deficit creates a significant taxonomic impediment to biodiversity research and conservation planning. The taxonomic impediment and the biodiversity crisis are widely recognized, highlighting the urgent need for reliable taxonomic data. Over the past decade, numerous countries worldwide have devoted considerable effort to Target 1 of the Global Strategy for Plant Conservation (GSPC), which called for the preparation of a working list of all known plant species by 2010 and an online world Flora by 2020. Brazil is a megadiverse country, home to more of the world's known plant species than any other country. Despite that, Flora Brasiliensis, concluded in 1906, was the last comprehensive treatment of the Brazilian flora. The lack of accurate estimates of the number of species of algae, fungi, and plants occurring in Brazil contributes to the prevailing taxonomic impediment and delays progress towards the GSPC targets. Over the past 12 years, a legion of taxonomists motivated to meet Target 1 of the GSPC, worked together to gather and integrate knowledge on the algal, plant, and fungal diversity of Brazil. Overall, a team of about 980 taxonomists joined efforts in a highly collaborative project that used cybertaxonomy to prepare an updated Flora of Brazil, showing the power of scientific collaboration to reach ambitious goals. This paper presents an overview of the Brazilian Flora 2020 and provides taxonomic and spatial updates on the algae, fungi, and plants found in one of the world's most biodiverse countries. We further identify collection gaps and summarize future goals that extend beyond 2020. Our results show that Brazil is home to 46,975 native species of algae, fungi, and plants, of which 19,669 are endemic to the country. The data compiled to date suggests that the Atlantic Rainforest might be the most diverse Brazilian domain for all plant groups except gymnosperms, which are most diverse in the Amazon. However, scientific knowledge of Brazilian diversity is still unequally distributed, with the Atlantic Rainforest and the Cerrado being the most intensively sampled and studied biomes in the country. In times of “scientific reductionism”, with botanical and mycological sciences suffering pervasive depreciation in recent decades, the first online Flora of Brazil 2020 significantly enhanced the quality and quantity of taxonomic data available for algae, fungi, and plants from Brazil. This project also made all the information freely available online, providing a firm foundation for future research and for the management, conservation, and sustainable use of the Brazilian funga and flora
    corecore